package ch.fusun.baron.map.api;

import java.util.List;

import ch.fusun.baron.data.DataProvider;
import ch.fusun.baron.map.Tile;

/**
 * The map service interface
 */
public interface GameMapService extends DataProvider {

	/**
	 * Returns all the tiles of the map
	 * 
	 * @return The tiles
	 */
	List<Tile> getTiles();

	/**
	 * @return The width of the game area
	 */
	int getWidth();

	/**
	 * @return the height of the game area
	 */
	int getHeight();

	/**
	 * @param width
	 *            the widht to set
	 * @param height
	 *            the height to set
	 */
	void configure(int width, int height);

	/**
	 * @param x
	 *            x position
	 * @param y
	 *            y position
	 * @return The tile at that position
	 */
	Tile getTile(int x, int y);

}
